package com.mju.service;

import com.mju.pojo.Cart;
import com.mju.vo.CartVO;

import java.util.List;

public interface ICartService {
    /**
     * 将商品添加到购物车
     * @param uid 用户id
     * @param pid 商品数据id
     * @param amount 要添加的数量
     * @param username 当前登陆用户名
     */
    void addToCart(Integer uid, Integer pid, Integer amount, String username);

    /**
     * 根据uid和pid获取购物车数据
     * @param uid 用户id
     * @param pid 商品id
     * @return
     */
    Cart queryCartByUidAndPid(Integer uid, Integer pid);

    /**
     * 根据cid获取购物车数据
     * @param cid
     * @return
     */
    Cart queryCartByCid(Integer cid);
    /**
     * 查询某用户的购物车数据
     * @param uid 用户id
     * @return
     */
    List<CartVO> getVOByUid(Integer uid);

    /**
     * 增加用户的购物车某商品的数量
     * @param cid 购物车数据id
     * @param uid 用户id
     * @param username 用户名
     * @return 增加成功后的数量
     */
    Integer addNum(Integer cid, Integer uid, String username);

    /**
     * 减少用户的购物车某商品的数量
     * @param cid
     * @param uid
     * @param username
     * @return
     */
    Integer subNum(Integer cid, Integer uid, String username);

    /**
     * 获取用户勾选的购物车数据中的信息
     * @param uid 用户id
     * @param cids 一组购物数据id
     * @return
     */
    List<CartVO> getVOByCids(Integer uid, Integer[] cids);


    /**
     * 根据cid删除购物车数据
     * @param cid
     * @return
     */
    Integer deleteCartByCid(Integer cid);


    /**
     * 根据pid获取cid
     * @param pid
     * @return cid
     */
    Integer getCidByPid(Integer pid);
}
